1. Field of the Invention
The present invention relates generally to a CDMA communication system, and in particular, to a device and method for allocating Forward Common Channels in the 2 Generation (IS-95) and 3 Generation (IMT-2000) CDMA systems.
2. Description of the Related Art
In order to increase channel capacity, a CDMA (Code Division Multiple Access) communication system separates channels using orthogonal codes. For example, a forward link of an IS-95 system performs channel separation using orthogonal codes. A reverse link can also perform channel separation using the orthogonal codes through time alignment. An example of an orthogonal code that is typically used is a Walsh code. The number of available orthogonal codes is determined depending upon a modulation method and a minimum data rate.
An IS-95 Forward Common Channel which separates channels using the fixed orthogonal codes, includes a pilot channel, a sync channel and a paging channel. The pilot channel constantly uses a 0th Walsh code (which is a Walsh code having a Walsh number 0), the sync channel uses a 32nd Walsh code, and the paging channel uses 1st to 7th Walsh codes. In the existing IS-95 system having the above channel structure, all the channels have relatively short frame length and thus, always use the Walsh codes of the same length (e.g., 64 chips).
However, in an IMT-2000 system, there are many frames for data transmission, which have a large amount of information bits, so that there may exist several channels having Walsh codes having shorter length (or spreading factor). For example, a Supplemental Channel may use a Walsh code of the shorter length, for high data rate transmission. The traffic data transmitted by the Supplemental Channel may include moving picture information (i.e., circuit data), which should be transmitted in real time, and general packet data. Such traffic data can be transmitted at variable data rates. For example, the Supplemental Channel can support the data rates of 9.6 Kbps, 19.2 Kbps, 38.4 Kbps, 76.8 Kbps, 153.6 Kbps, 307.2 Kbps and 614.4 Kbps. The Walsh codes have Walsh lengths (or spreading factors) of 256, 128, 64, 32, 16, 8 and 4 according to the respective data rates.
In addition, a Forward Common Common Channel (F-CCCH) of the IMT-2000 system also supports the variable data rates. For example, the Common Control Channel can support the data rates of 9.6 Kbps, 19.2 Kbps and 38.4 Kbps. At this point, the Walsh code has Walsh lengths (or spreading factors) of 256, 128 and 64 according to the respective data rates.
In the variable rate channel scheme, a channel frame is transmitted at a specific one of the data rates, and the data rate can be varied during the frame transmission according to a change of the channel environments. For example, when the channel environment improves during data transmission at the data rate of 19.2 Kbps, the data rate can be varied to the higher data rates of 38.4 Kbps to 614.6 Kbps. Otherwise, when the channel environment deteriorates, the data rate can be varied to the lower data rate of 9.6 Kbps. Here, the channel environment refers to any factor which can affect the data transmission. An increase in the data rate according to the channel environment causes a decrease in the Walsh length, thus making it difficult to allocate the Walsh codes, as described below with respect to FIG. 3. Before describing the problems, reference will be made to the structure of the Walsh codes shown in FIGS. 1 and 2.
FIG. 1 shows a structure of the general Walsh code set. Referring to FIG. 1, a Walsh code set W is comprised of N Walsh codes having a Walsh length N, and can be divided into 4 Walsh code sets of length N/2. If it is assumed that a set of N/2 Walsh codes having a Walsh length N/2 is defined as a Walsh code set W′, the two upper Walsh code sets of length N/2 are each equivalent to Walsh code set W′. Further, the lower left Walsh code set of length N/2 is equivalent to the above Walsh code set W′, and the lower right Walsh code set of length N/2 is equivalent to an inverted Walsh code set W′. For inversion of the Walsh code, a bit ‘1’ is converted to ‘0’ and a bit ‘0’ to ‘1’.
Equation (1) below shows how to derive a Walsh code set of length 4 from a Walsh code set of length 2, in order to bring a better understanding of the Walsh code structure of FIG. 1. That is, the Walsh code set of length 4 correspond to the above stated Walsh code set W, and the Walsh code set of length 2 correspond to the above stated Walsh code set W′.                               [                                                    0                                            0                                                                    0                                            1                                              ]                ⇒                  [                                                    0                                            0                                            0                                            0                                                                    0                                            1                                            0                                            1                                                                    0                                            0                                            1                                            1                                                                    0                                            1                                            1                                            0                                              ]                                    [                  Equation          ⁢                                           ⁢          1                ]            
FIG. 2 shows a Walsh code set of length 256, which is obtained in the method of Equation (1). Referring to FIG. 2, a Walsh code set W is comprised of 256 Walsh codes having a Walsh length 256, and can be divided into 4 Walsh code sets of length 128. If it is assumed that a set of 128 Walsh codes having a Walsh length 128 is defined as a Walsh code set W′, the two upper Walsh code sets of length 128 are each equivalent to the twice-repeated Walsh code set W′. Further, the lower left Walsh code set of length 128 is equivalent to the above Walsh code set W′, and the lower right Walsh code set of length 128 is equivalent to an inverted Walsh code set {overscore (W′)}.
In addition, if it is assumed that a set of 64 Walsh codes having a Walsh length 64 is defined as a Walsh code set W″, the two upper Walsh code sets of length 64 of each Walsh code set W″ are each equivalent to the twice-repeated Walsh code set W″. Further, the lower left Walsh code set of length 64 of each Walsh code set W″ is equivalent to the above Walsh code set W″, and the lower right Walsh code set of length 64 is equivalent to an inverted Walsh code set {overscore (W′)}. Here, the structure of the Walsh code set W′ is commonly applied to all the Walsh code sets W′ constituting the Walsh code set W. Further, the Walsh code set {overscore (W′)} also is constructed in the same manner as the Walsh code set W′ as disclosed in the above. By using such structure of the Walsh codes, it is possible to reduce an interference (or correlation) between the users.
FIG. 3 shows a interference between two users according to the Walsh codes when the data rate is variable according to the channel environments. Referring to FIG. 3, a first user uses an 8th Walsh code (which is a Walsh code having a Walsh number 8) at a data rate of 38.4 Kbps. A Walsh code of length 64 should be used to transmit data at the data rate of 38.4 Kbps as stated above. Therefore, the data of the first user is spread with an 8th Walsh code of length 64 and transmitted at the data rate of 38.4 Kbps. At this data rate, it is possible to transmit 4 times the data which can be transmitted at the data rate of 9.6 Kbps. This becomes apparent when compared with the data transmission method of a fourth user, who transmits the data at the data rate of 9.6 Kbps using an 8th Walsh code of length 256. More specifically, with regard to the data transmission method of the first user, a first code symbol is spread with a first 64-chip Walsh code (i.e., first 64 chips of the 8th Walsh code), a second code symbol is spread with a second 64-chip Walsh code (i.e., second 64 chips of the 8th Walsh code), a third code symbol is spread with a third 64-chip Walsh code (i.e., third 64 chips of the 8th Walsh code), and a fourth code symbol is spread with a fourth 64-chip Walsh code (i.e., fourth 64 chips of the 8th Walsh code).
A second user uses the 8th Walsh code at a data rate of 19.2 Kbps. A Walsh code of length 128 should be used to transmit data at the data rate of 19.2 Kbps. Therefore, the data of the second user is spread with the 8th Walsh code of length 128 and transmitted at the data rate of 19.2 Kbps. At this data rate, it is possible to transmit 2 times the data which can be transmitted at the data rate of 9.6 Kbps. This becomes apparent when compared with the data transmission method of the fourth user, who transmits the data at the data rate of 9.6 Kbps using the 8th Walsh code of length 256. More specifically, with regard to the data transmission method of the second user, a first code symbol is spread with a first 128-chip Walsh code (i.e., leading 128 chips of the 8th Walsh code), and a second code symbol is spread with a second 128-chip Walsh code (i.e., following 128 chips of the 8th Walsh code).
A third user uses a 72nd Walsh code of length 128 at the data rate of 19.2 Kbps. Two transmission symbols are spread with the corresponding 128-chip Walsh code (72th Walsh code).
Further, the fourth to seventh users use their unique Walsh codes of length 256 at the data rate of 9.6 Kbps. Each transmission symbol is spread with a 256-chip Walsh code. The unique Walsh codes used by the fourth to seventh users are 8th, 72th, 136th and 200th Walsh codes, respectively.
Next, reference will be made to an interference among the users using the different data rates and Walsh codes.
First, a description will be made of an interference between the first user and the third user on a 64-chip unit basis. The first symbol of the first user and the corresponding duration of the third user are spread with the same Walsh code W″8, thus causing an interference between the first user and the third user. That is, at the corresponding duration, the first user has an interference with the third user. This interference also occurs at the third symbol duration of the first user and the corresponding duration of the third user. Therefore, while transmitting the data of the first user, it is not possible to transmit the data of the third user.
Next, a description will be made of an interference between the first user and the fifth to seventh users on the 64-chip unit basis. The first symbol of the first user and the corresponding duration of the fifth to seventh users are spread with the same Walsh code W″8, thus causing an interference between the first user and the fifth to seventh users. That is, at the corresponding chip duration, the first user has a correlation with the fifth to seventh users. This correlation also occurs at the third symbol duration of the first user and the corresponding chip duration of the fifth user; at the second symbol duration of the first user and the corresponding chip duration of the sixth user; and at the fourth symbol duration of the first user and the corresponding chip duration of the seventh user. Therefore, while transmitting the data of the first user, it is not possible to transmit the data of the fifth to seventh users.
In other words, when there exists a user using a Walsh code of short length such as the first user, the users using Walsh codes of the longer length cannot use some of the Walsh codes due to the bad correlation property. For example, when there exists a user using an n-th Walsh code Wn(0≦n<64) of length 64 for a Walsh code of full length 256, a user using the longer Walsh length cannot use not only the n-th Walsh code Wn but also (n+64)th, (n+128)th and (n+192)th Walsh codes. That is, several Walsh codes cannot be used because of one user. At this point, an increase in the data rate of the user will cause a decrease in the Walsh length, thus increasing unavailable Walsh codes in number. When a specific Walsh code is determined, it is possible to make a group of Walsh codes having Walsh numbers which cannot be used due to the bad correlation at the length of the determined Walsh code. The group of the Walsh codes is referred to as a Walsh pool.
In this circumstance, if the paging channel of the IMT-2000 system uses the 1st to 7th Walsh codes, it is not possible to use the data channels having the Walsh length 4 and 8 out of the 256 Walsh codes of length 256 for the reason described with reference to FIG. 3.